#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    // 使用代码创建菜单栏

    // 创建一个菜单栏对象
    QMenuBar* menubar = new QMenuBar();
    // 将菜单栏设置到窗口内
    this->setMenuBar(menubar); // 设置的时候也就将菜单栏添加进了对象树中了
    // 还需要给菜单栏创建出一些具体的菜单出来
    QMenu* menu1 = new QMenu("文件");
    QMenu* menu2 = new QMenu("编辑");
    QMenu* menu3 = new QMenu("视图");
    QMenu* menu4 = new QMenu("关于");
    // 添加到菜单栏
    menubar->addMenu(menu1);
    menubar->addMenu(menu2);
    menubar->addMenu(menu3);
    menubar->addMenu(menu4);

    // 给菜单添加菜单项
    QAction* action1 = new QAction("打开");
    QAction* action2 = new QAction("新建");
    QAction* action3 = new QAction("保存");
    QAction* action4 = new QAction("退出");
    // 将菜单项添加到菜单
    menu1->addAction(action1);
    menu1->addAction(action2);
    menu1->addAction(action3);
    menu1->addAction(action4);

    // 如何让点击菜单项有所反应
    // QAction再被点击的时候会触发一个信号triggered(触发)
    // 给Action添加一个信号槽
    connect(action1, &QAction::triggered, this, &MainWindow::handle);
    connect(action4, &QAction::triggered, this, &MainWindow::close); // 绑定一个关闭操作的槽函数


}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::handle()
{
    qDebug() << "成功打开了某个文件!!!";

}

void MainWindow::Quit()
{

}

